Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

461
Views
¿Cómo deshabilitar la ventana emergente "¿Abandonar el sitio? Es posible que los cambios que realizó no se guarden" en angular?

Estoy tratando de cerrar el navegador después de haber llegado a una página de confirmación de pedido y arroja una alerta como se muestra a continuación. Esto crea una idea errónea para el usuario de que sus cambios no se guardaron. Así que quiero evitar esta ventana emergente.

ingrese la descripción de la imagen aquí

Sé que esta alerta se activa debido al evento beforeunload . Solución que he probado:

 window.addEventListener("beforeunload",(event)=>{ return null; })

y

 window.onbeforeunload=null;

No estoy usando jQuery en mi aplicación. ¿Hay alguna otra forma en que pueda desactivar este evento para que no se active?

Enlaces que he probado:

Cómo deshabilitar/anular "¿Desea abandonar este sitio?" ¿alerta?

Deshabilite la ventana emergente "Los cambios que realizó pueden no guardarse"

Cómo deshabilitar "Es posible que los cambios realizados no se guarden". cuadro de diálogo (cromo)?

Ninguno de ellos está trabajando para mí.

¿Cómo puedo lograr esto sin jQuery?. Lo que me confunde es cómo manejar este evento para que no muestre la ventana emergente.

Estoy usando la versión de Chrome 101.0.4951.64

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Esto podría deberse a alguna biblioteca de terceros u otra funcionalidad en su código que escucha el evento "beforeunload" y tal vez modifica el valor de event.returnValue .

Esta solución puede funcionar para usted.

 window.addEventListener('beforeunload', function (event) { event.stopImmediatePropagation(); });

Esto evitará la ejecución de los demás oyentes de la cadena.

Es importante incluir este código en la parte superior de la aplicación para asegurarse de que su función se ejecute primero.

En el caso de Angular, un buen lugar puede ser el ngOnInit del AppComponent.

Chequea aquí.

about 4 years ago · Juan Pablo Isaza Report

0

Simplemente agregue una documentación de MDN del evento beforeunload como referencia.

https://developer.mozilla.org/en-US/docs/Web/API/Window/beforeunload_event

Cuando este evento devuelve (o establece la propiedad returnValue en) un valor distinto de nulo o indefinido, se le pedirá al usuario que confirme la descarga de la página.

Internet Explorer no respeta el valor de retorno nulo y lo mostrará a los usuarios como texto "nulo". Tienes que usar undefined para omitir el aviso.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!